//
//  main.m
//  07-Foundation-NSNumber
//
//  Created by Jason on 15/10/6.
//  Copyright © 2015年 Jason. All rights reserved.
//

#import <Foundation/Foundation.h>

/*
 OC新特性
 1.NSNumber : @20, @(变量)
 2.NSArray
    * @[@"mike", @20]; 返回的是不可变数组
    * array[0]; 取值
 3.NSDictionary
    * @{@"key", @"value", ......}; 返回的是不可变字典
    * dict[@"key"]; 取value
 */

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        
        
        @[[NSNull null], @"mike", [NSNull null], @"Jack"];
        // 单例模式
        [NSNull null];
        [NSNull null];

        @{@"name": [NSNull null]};
        
        
        
    }
    return 0;
}

// 需要注意的地方
void number1() {
    // 返回的是NSArray不可变的数组，用可变数组接收会报错 报没有addObject的方法
    NSMutableArray *array = @[@"mike", @"jack"];
    [array addObject:@"jim"];
}

void number() {
    
    /*
     // NSNumber 用来包装基本数据类型
     NSNumber *num1 = [NSNumber numberWithInt:20];
     
     NSArray *array = [NSArray arrayWithObjects:num1,@"Mike", nil];
     586 5952 8:30   9:17--->15:21
     */
    
    
    // 新特性的一些写法
    // 把右边的10包装成一个number对象 编译器会自动生成[NSNumber numberWithInt:20];
    NSNumber *num = @10;
    
    int a = 10;
    NSNumber *num2 = @(a);
    [num2 intValue];
    
    //        NSArray *array = [NSArray arrayWithObjects:@20,@"mike",@7.8f, nil];
    
    NSArray *array = @[@20,@"mike",@7.8f];
    
    NSString *name = array[1];//[array objectAtIndex:1];
    
    NSLog(@"%@", name);
    
    
    //        NSDictionary *dict1 = [NSDictionary dictionaryWithObjectsAndKeys:@"Mike",@"name",@"北京",@"address", nil];
    
    NSDictionary *dict = @{@"name": @"Mike",@"address": @"北京"};
    
    //        [dict objectForKey:@"name"];
    NSString *address = dict[@"address"];
    NSLog(@"%@", address);
    
}
